package io.gitee.chearnee.fw.datasecurity.core.executor.desensitization;

import java.lang.annotation.Annotation;
import java.util.Set;

/**
 * @author cn
 * @version 1.0
 * @description
 * @date 11/9/2022 5:02 PM
 */

public interface SDExecutor<S> {
//    default Object execute(S obj) {
//        return obj;
//    }

//    default Object executeObject(Object body) {
//        return execute((S) body);
//    }

    default Object executeObject(Object body, Annotation generalField, Set<Class<?>> disabledClasses) {
        return execute((S) body, generalField, disabledClasses);
    }

    default S execute(S obj, Annotation generalField, Set<Class<?>> disabledClasses) {
        return obj;
    }
}
